System and method for key function switching

ABSTRACT

Personal computer (PC) and online gaming are gaining popularity around the world. Typically players use PC input devices such as keyboards and mice for playing PC games. Many of the modern PC games use a control scheme commonly known as the “WASD/Mouse”, which is a combination of the “WASD” keys of the keyboard and the mouse as means for interacting with the PC games. Additionally, to further expand on game control functions, modifier keys are used in conjunction with other keyboard keys to serve as shortcut keys for activating such game control functions. However, due to the non-ergonomic positioning of the shortcut keys, players often suffer from wrist discomfort after PC game playing sessions due to increased strain placed on their wrists when using the shortcut keys frequently. An embodiment of the invention describes a system and method for switching processes selectable by keys on human interface devices.

FIELD OF INVENTION

The invention relates generally to human interface devices for personal computers. In particular, the invention relates to a system and method for switching processes selectable by keys on human interface devices.

BACKGROUND

Gaming, whether done on the ubiquitous personal computer (PC) or console platform, is fast gaining popularity worldwide. As a result, the PC and video game industries are posting record sales for portable and console hardware, software and accessories. Further, with the vast improvement of Internet technology, online gaming is also poised to take off as the next wave for PC gaming.

Typically, players use human interface devices (HIDs) such as keyboards and mice to interact with PC games. The PC games typically belong to genres ranging from First Person Shooter (FPS) games to Massive Multiplayer Online Role Player Games (MMORPGs). In order to play the PC games, the players generally use a combination of the “WASD” keys of the keyboard and the mouse as means for interacting with the PC games. Such a control scheme is commonly referred to as the “WASD/Mouse” combination. The “WASD” keys typically provide movements for game characters including forward, backward, left and right sidestepping. Additionally, the mouse is used for controlling the game characters' movement directions in which the players control the game characters for character interaction when they play the PC games.

Modifier keys such as “CTRL”, “WINDOWS”, “ALT” and “SHIFT” are shortcut keys used in conjunction with other keyboard keys for most PC games. The shortcut keys are typically used for expanding on additional game playing functions for the PC games. Although the shortcut keys enable the players to have more game control functions for game play, inappropriate positioning of the shortcut keys can create discomfort for players who frequently use the shortcut keys during game play. The design of most modern keyboards locates the modifier keys around non-ergonomic areas of the keyboards, which are typically on the lower right and left corners. Consider a right-handed player who controls the mouse with the right hand and controls the “WASD” keys on the keyboard with the left hand during game play. The player might encounter inconvenience when attempting to use the left hand to access the modifier keys. As a result, many players suffer from wrist strain and pain after PC game playing sessions. Such situations thus bring about decreased satisfaction in overall gaming experience for many players.

US Patent No. US2006/209014A1 (prior art) discloses a system and method in which pen gestures enable a mode to be entered in which a computing device acts as if a modifier key was being pressed. The system and method comprise using low-level software drivers linked to an Operating System's (OS) kernel for capturing and recognizing input feedbacks in the form of user gestures made via input devices such as a mouse, a pen digitizer or a touch digitizer. Based on the user gestures detected, one or more modes corresponding to pressing a keyboard modifier key or issuing one-time commands or the like can be initiated by the low-level software drivers. However, such a system and method are not suitable for PC gaming implementations since the input devices are typically used for controlling movements of game characters in PC games using user gestures. Hence, the system and method as described in the prior art can result in considerable confusion for gamers when selecting the correct gaming commands to use.

Hence, there affirms a need for a system and method for addressing at least one of the foregoing problems of using HIDs for playing PC games.

SUMMARY

Embodiments of the invention disclosed herein provide a system and method for switching processes selectable through keys on human interface devices.

In accordance with a first aspect of the invention, there is disclosed in a human interface device communicable with a computing device, a method for switching processes performable by the computing device comprising the step of detecting actuation of a switch on the human interface device. The method further comprises the step of communicating with the computing device for switching from a first process selectably performable by the computing device to a second process selectably performable by the computing device in response to the actuation of the switch. Each of the first and second processes selectably performable by the computing device is selectable by actuation of at least one process selection key.

In accordance with a second aspect of the invention, there is disclosed in a human interface device communicable with a computing device, the human interface device comprising a switch and a communication interface. The switch is actuable by a user of the human interface device. The communication interface communicates with the computing device for switching from a first process selectably performable by the computing device to a second process selectably performable by the computing device in response to the actuation of the switch. Each of the first and second processes selectably performable by the computing device is selectable by at least one process selection key actuable by the user of the human interface device.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are disclosed hereinafter with reference to the drawings, in which:

FIG. 1 shows a conventional keyboard;

FIG. 2 shows a mouse with a switch for providing key function switching for a human interface device (HID) such as the keyboard of FIG. 1 according to an embodiment of the invention;

FIG. 3 shows keys of the keyboard of FIG. 1 used in conjunction with the switch of the mouse of FIG. 2 for switching between pre-configured primary and secondary functions of the keys upon actuating the switch of the mouse of FIG. 2;

FIG. 4 shows further buttons of the mouse of FIG. 2 used in conjunction with the switch of the mouse for switching between pre-configured primary and secondary functions of the keys upon actuating the switch of the mouse of FIG. 2;

FIG. 5 shows a keyboard with multimedia buttons for selecting multimedia functions;

FIG. 6 shows a graphical format of a software application used in conjunction with the switch of the mouse of FIG. 2 and a HID such as the keyboard of FIG. 5 for configuring a shortcut key for providing key function switching; and

FIG. 7 shows a block diagram format of system modules for providing a hardware implementation for the mouse of FIG. 2.

DETAILED DESCRIPTION

A device and a method for switching processes selectable by keys on a human interface device (HID) are described hereinafter for addressing the foregoing problems.

For purposes of brevity and clarity, the description of the invention is limited hereinafter to applications related to switching processes selectable by keys on HIDs (or key function switching). This however does not preclude various embodiments of the invention from other applications that require similar operating performance. The fundamental operational and functional principles of the embodiments of the invention are common throughout the various embodiments.

Exemplary embodiments of the invention described hereinafter are in accordance with FIGS. 1 to 7 of the drawings, in which like elements are numbered with like reference numerals.

According to an embodiment of the invention, a system for switching processes of a software application executing in a computing device, for instance a personal computer is disclosed hereinafter. The processes are selectable through keys on human interface devices (HIDs) or input devices such as a keyboard 100 shown in FIG. 1 and a mouse 200 shown in FIG. 2 is described hereinafter. The keyboard 100 comprises any key 102. A user (not shown) then uses a switch incorporated on the mouse 200, such as a switch 202, to switch the key 102 from a first function to a second function for switching from a first process to a second process of the software application. The first and second functions are preferably already pre-defined and pre-configured to the key 102. Additionally, the first and second functions may be pre-determined by the user before being configured to the key 102.

The keyboard 100 is one of wired and wireless types. A wired keyboard 100 preferably couples and communicates to a computer system (not shown) via a communication interface being one of PS/2 and Universal-Serial-Bus (USB). On the other hand, a wireless keyboard 100 preferably couples and communicates to the computer system via a communication interface being one of Bluetooth, Infrared (IR), Radio-Frequency (RF) and Wireless USB. Further, the keyboard 100 is preferably an IBM-compatible keyboard with a QWERTY keyboard layout design.

As shown in FIG. 2, the switch 202 is preferably ergonomically located on the mouse 200 so as to be easily accessible by the user, such as along a side portion of the mouse 200. Alternatively, other usable HIDs include a trackball, touchpad, digitizing pen, gamepad, graphics tablet and joystick. Additionally, the mouse 200 is one of type wired and wireless. A wired mouse 200 preferably couples and communicates to the computer system via a communication interface being one of PS/2 and Universal-Serial-Bus (USB). A wireless mouse 200 however preferably couples and communicates to the computer system via a communication interface being one of Bluetooth, Infrared (IR), Radio-Frequency (RF) and Wireless USB. Alternatively, the mouse 200 may be coupled directly to the keyboard 100 via one of the wired and wireless means. Further, the switch 202 is preferably operable on any computer systems without having to install additional software drivers for the Operating Systems (OS) installed on the computer systems. The OS is preferably one of Microsoft Windows, LINUX, UNIX and Mac OSX.

Typically, different primary functions of the keys 102 are already pre-associated with different primary processes of a PC game. According to the embodiment of the invention, the user initially uses a software application (not shown) for pre-defining and configuring secondary functions corresponding to secondary processes of the PC game to any one of the keys 102. The user then switches to the secondary functions of the keys 102 whenever required by actuating the switch 202. Hence, the secondary functions of the keys 102 are selected instead when the user actuates the keys 102. To switch the keys 102 back to the primary functions, the user actuates the switch 202. Alternatively, the secondary functions of the keys 102 are selected when the switch 202 is actuated together with the keys 102. When the switch 202 is released, the keys 102 revert to the primary functions.

Additionally, the switch 202 is preferably and alternatively usable in conjunction with any processor-based devices (not shown) that have buttons or keys. Processor-based devices include gamepads, video gaming consoles, joysticks and the like. The switch 202 then enables functions switching (from primary functions to secondary functions) of the buttons or keys of the computer peripheral devices to be achieved by actuating the switch 202 together with the buttons or keys. Alternatively, functions switching of the buttons or keys of the processor-based devices are achievable by actuating the switch 202 once to switch to the secondary functions. Subsequently, when the primary functions are required again, the switch 202 is then actuated to switch the buttons or keys back to the primary functions.

An example illustrating the usage of the switch 202 with the keyboard 100 is as shown in FIG. 3. In a typical PC game, in-game processes such as Shoot, Jump, Crouch, Cast-Spell-A, Cast-Spell-B and Cast-Spell-C are configurable to any keys 102 of the keyboard 100. Hence, the user may configure the aforementioned six in-game processes to key-one 302, key-two 304, key-three 306, key-four 308, key-five 310 and key-six 312, respectively. However, during play of the PC game, key-four 308, key-five 310 and key-six 312 are not easily accessible by the user.

According to the embodiment of the invention, the user can however use the software application to configure Shoot, Jump and Crouch as primary processes and Cast-Spell-A, Cast-Spell-B and Cast-Spell-C as secondary processes to key-one 302, key-two 304 and key-three 306, respectively. Thus, when the user is playing the PC game, the user simply actuates key-one 302, key-two 304 and key-three 306 for selecting the Shoot, Jump and Crouch processes, respectively. By actuating the switch 202, the user then activates the secondary functions of key-one 302, key-two 304 and key-three 306. As a result, when the user presses key-one 302, key-two 304 and key-three 306 during play of the PC game, the Cast-Spell-A, Cast-Spell-B and Cast-Spell-C processes are now respectively selected instead of the Shoot, Jump and Crouch processes. The primary functions of key-one 302, key-two 304 and key-three 306 may be reverted by actuating the switch 202 again.

Alternatively, the Cast-Spell-A, Cast-Spell-B and Cast-Spell-C processes are selectable by actuating the switch 202 together with one of key-one 302, key-two 304 and key-three 306, respectively. Thus for example, when the switch 202 is actuated together with key-one 302, the Cast-Spell-A process is now selected instead of the Shoot process. However, when the switch 202 is released, key-one 302 then selects the Shoot process again.

Additionally, the switch 202 also allows alternative processes to be provided to at least one button of the mouse 200. The alternative processes are preferably programmable by the user. FIG. 4 shows a left button 400, a scroll button 402 and a right button 404 of the mouse 200. For example, in a typical PC game, the user is able to configure in-game processes such as Attack, Jump, Cast-Spell-A and Cast-Spell-B to buttons of the mouse 200. However, due to the lack of buttons available on the mouse 200, only two of the aforementioned in-game processes are configurable to the buttons of the mouse 200. According to the embodiment of the invention, the user can however use the software application to configure all four of the aforementioned in-game processes to the buttons of the mouse 200, in which the four in-game processes are used in conjunction with the switch 202. The user then configures Attack and Jump as primary processes to the left button 400 and right button 404, respectively and Cast-Spell-A and Cast-Spell-B as secondary processes to the left button 400 and right button 404, respectively. By default, when the user actuates the left button 400 or right button 404 on the mouse 200, the Attack or Jump process is selected respectively. However, when the user actuates the switch 202, the secondary processes associated with the left button 400 and right button 404 respectively are selected instead. Thus, the Cast-Spell-A or Cast-Spell-B process is respectively selected when the user either actuates the left button 400 or right button 404.

Yet alternatively, the Cast-Spell-A and Cast-Spell-B processes are selectable by actuating the switch 202 together with either the left button 400 or right button 404, respectively. Thus for example, when the switch 202 is actuated together with the left button 400, the Cast-Spell-A process is now selected instead of the Attack process. However, when the switch 202 is released, the left button then selects the Attack process again.

FIG. 5 shows another keyboard 500 of the conventional type. The keyboard 500 is an enhanced version of the keyboard 100 of FIG. 1 in which the keyboard 500 is incorporated with multimedia function buttons 502 such as volume buttons, a play button, a fast-forward button and a reverse button, in addition to the available conventional keys 504. Typically, a conventional keyboard such as the keyboard 500 is pre-built with modifier keys such as “CTRL”, “ALT” and “SHIFT” keys 506. The switch 202 of the mouse 200 is programmable and configurable to take on functionality of one of the “CTRL”, “ALT” and “SHIFT” keys 506. Hence, when the user actuates the switch 202 on the mouse 200, the switch 202 now emulates the functionality of one of the “CTRL”, “ALT” and “SHIFT” keys 506. The switch 202 is then usable in combination with the keys 504 to form shortcut keys for accessing different pre-defined in-game processes. Configuring the shortcut keys allows the user quicker access to the in-game processes without having to position their hands in a non-ergonomic manner on the keyboard 500 during game play. In addition, due to the ergonomic positioning of the shortcut keys, the user is less likely to incur computer-related injuries resulting from prolong usage of the computer system such as Carpal Tunnel Syndrome (CTS).

Alternatively, the switch 202 is usable in combination with the keys 504 to form shortcut keys for accessing different pre-defined in-program processes of a computer animation application. Examples of the in-program processes are drawing, colouring, animating and sound effects features of the computer animation application. In this manner, the in-program processes are configured such that each of the in-program processes is activated through actuating a corresponding pre-defined key 504 on the keyboard 500 in conjunction with the switch 202.

Additionally, the switch 202 is also programmable using a software application 600 as shown in FIG. 6. The software application 600 enables the configuration of the switch 202 together with keys of a HID such as the keyboard 500 of FIG. 5. Hence, a unique code corresponding to the configuration of actuating at least one of the keys 504 in conjunction with the switch 202 is pre-definable by the user. The unique code is then stored in a “shortcut-key” profile on the computer system. Alternatively, the “shortcut-key” profile is stored on the mouse 200. Additionally, the unique code is also associated with a software application. Whenever the computer system detects an activation corresponding to the unique code, the software application is then activated by the computer system. The unique code is activatable by the keyboard 500 whenever the user actuates the switch 202 in conjunction with a pre-defined key selected from one of the keys 504.

The software application 600 comprises the respective options: a key, a launch-application and a load-“shortcut-key”-profile respectively. The key option specifies one of the keys 504. The launch-application option allows the user to define a software application to be activated upon detection of the unique code corresponding to the usage of the shortcut keys. Lastly, the load-“shortcut-key”-profile option allows the user to decide whether the “shortcut” profile is to be loaded into computer memory by the computer system upon system startup.

According to another embodiment of the invention, a hardware implementation 700 for the mouse 200 is shown in FIG. 7. The hardware implementation 700 comprises a signal detector 702, a first controller 704, memory 706, a microprocessor 708, a second controller 710 and a signal transmitter 712. The signal detector 702 contains sensing circuitry to detect if the mouse 200 receives any input signals. The received input signals are then forwarded to the first controller 704, which processes requests of sending and storing of received input signals into the memory 706. The memory 706 serves as a storage space to temporarily store the received input signals before subjecting the received input signals to further processing by the microprocessor 708. The memory 706 is preferably one of semiconductor memory devices such as static and dynamic random access memory (RAM) and flash devices. The microprocessor 708 is responsible for processing the received input signals to derive digital information such as coordinates of current position of the mouse 200. Subsequently, the microprocessor 708 sends the digital information to the second controller 710, which processes organization of the digital information before transmitting the digital information as output signals. Lastly, the signal transmitter 712 transmits the digital information to the computer system via the communication interface to which the mouse 200 couples and communicates.

In the foregoing manner, a system and a method for switching processes selectable by keys on human interface devices are described according to embodiments of the invention for addressing at least one of the foregoing disadvantages. Although a few embodiments of the invention are disclosed, it will be apparent to one skilled in the art in view of this disclosure that numerous changes and/or modification can be made without departing from the scope and spirit of the invention. 

What is claimed is:
 1. A method for switching between a first process and a second process and between a third process and a fourth process performed by an application operating in a computing device, the method comprising: determining that an input device in communication with the computing device comprises a key that is configured to trigger execution of the first process or to trigger execution of the second process and that a device mouse comprises a key that is configured to trigger execution of the third process or to trigger execution of the fourth process based at least in part on a shortcut-key profile stored in the mouse device and in response to an actuation of a switch of the mouse device that is also in communication with the computing device; determining that the key of the input device is configured to trigger execution of the first process upon actuation of the key of the input device; determining that the key of the mouse device is configured to trigger execution of the third process upon actuation of the key of the mouse device; determining a first actuation of the switch of the mouse device; determining, based on the first actuation of the switch, to re-configure the key of the input device to trigger execution of the second process upon actuation of the key of the input device; and determining, based on the first actuation of the switch, to re-configure the key of the mouse device to trigger execution of the fourth process upon actuation of the key of the mouse device; wherein the mouse device is separate from the input device, and wherein the switch of the mouse device is separate from the key of the mouse device.
 2. The method as in claim 1, further comprising: determining a deactuation of the switch; and determining, based on the deactuation of the switch, to re-configure the key of the input device to trigger execution of the first process upon actuation of the key.
 3. The method as in claim 1, wherein the first process comprises a first in-game process and the second process comprises a second in-game process.
 4. The method as in claim 1, wherein the input device is a keyboard.
 5. The method as in claim 1, wherein the switch of the mouse device is configurable to function as one of shift (SHIFT), alternate (ALT) and control (CTRL) keys.
 6. The method as in claim 1, further comprising storing a user-definable unique code corresponding to the configuration of actuating the key in conjunction with the switch as the shortcut-key profile on the mouse device, wherein the shortcut-key profile is loadable from the mouse device into the computing device.
 7. A system for key function switching comprising: a mouse device in communication with a computing device configured to switch between a first process and a second process and between a third process and a fourth process, each of the first process, second process, third process, and fourth process performed by an application, the mouse device comprising a switch; the mouse device configured to determine a first actuation of the switch of the mouse device; an input device in communication with the computing device, the input device comprising a key configured to trigger execution of the first process or to trigger execution of the second process based in part on an actuation of the switch of the mouse device; the mouse device comprising a key that is configured to trigger execution of the third process or to trigger execution of the fourth process based in part on the actuation of the switch of the mouse device; the input device further configured to: determine that the key of the input device is configured to trigger execution of the first process upon actuation of the key of the input device based at least in part on a shortcut-key profile stored in the mouse device; determine that the key of the mouse device is configured to trigger execution of the third process upon actuation of the key of the mouse device based at least in part on the shortcut-key profile stored in the mouse device; wherein the key of the input device is re-configured to trigger execution of the second process upon actuation of the key of the input device, based on the first actuation of the switch; and wherein the key of the mouse device is re-configured to trigger execution of the fourth process upon actuation of the key of the mouse device, based on the first actuation of the switch; wherein the mouse device is separate from the input device, and wherein the switch of the mouse device is separate from the key of the mouse device.
 8. The system as in claim 7, wherein the mouse device is further configured to: detect a deactuation of the switch; wherein the key of the input device is re-configured to trigger execution of the first process upon actuation of the key, based on the deactuation of the switch.
 9. The system as in claim 7, wherein the first process comprises a first in-game process and the second process comprises a second in-game process.
 10. The system as in claim 7, wherein the input device is a keyboard.
 11. The system as in claim 7, wherein the switch of the mouse device is configurable to function as one of shift (SHIFT), alternate (ALT) and control (CTRL) keys.
 12. The system as in claim 7, wherein a user-definable unique code corresponding to the configuration of actuating the key in conjunction with the switch is stored as a shortcut-key profile on the mouse device; and wherein the shortcut-key profile is loadable from the mouse device into the computing device.
 13. A non-transitory machine readable medium in a computing device, the computing device in communication with a mouse device and an input device, the input device comprising a key configured to trigger execution of a first process or trigger execution of a second process based in part on an actuation of a switch of the mouse device, the mouse device comprising a key configured to trigger execution of a third process or trigger execution of a fourth process based in part on an actuation of a switch of the mouse device, the non-transitory machine readable medium having stored therein a plurality of programming instructions, which when executed, the instructions cause the computing device to: determine that the key of the input device is configured to trigger execution of the first process based at least in part on a shortcut-key profile stored on the mouse device and upon actuation of the key of the input device; determine that the key of the mouse device is configured to trigger execution of the third process based at least in part on the shortcut-key profile stored on the mouse device and upon actuation of the key of the mouse device; determine a first actuation of the switch of the mouse device; determine, based on the first actuation of the switch, to re-configure the key of the input device to trigger execution of the second process upon actuation of the key of the input device; determine, based on the first actuation of the switch, to re-configure the key of the mouse device to trigger execution of the fourth process upon actuation of the key of the mouse device; wherein the mouse device is separate from the input device, and wherein the switch of the mouse device is separate from the key of the mouse device.
 14. The non-transitory machine readable medium as in claim 13, wherein the instructions cause the computing device to further: detect a deactuation of the switch; and determine, based on the deactuation of the switch, to re-configure the key of the input device to trigger execution of the first process upon actuation of the key.
 15. The non-transitory machine readable medium as in claim 13, wherein the first process comprises a first in-game process and the second process comprises a second in-game process.
 16. The non-transitory machine readable medium as in claim 13, wherein the input device is a keyboard.
 17. The machine readable medium as in claim 13, wherein the switch on the mouse device is configurable to function as one of shift (SHIFT), alternate (ALT) and control (CTRL) keys.
 18. The non-transitory machine readable medium as in claim 13, wherein a user-definable unique code corresponding to the configuration of actuating the key in conjunction with the switch is stored as the shortcut-key profile on the mouse device; and wherein the shortcut-key profile is loadable from the mouse device into the computing device.
 19. The method as in claim 1, further comprising activating a software application for configuring the second function operable through the key of the input device, and in conjunction with the switch of the mouse device.
 20. The system as in claim 7, further comprising a software application for configuring the second function of the key operable through the input device, and in conjunction with the switch of the mouse device.
 21. The non-transitory machine readable medium as in claim 13, wherein the instructions cause the computing device to activate a software application for configuring the second function operable through the key of the input device, and in conjunction with the switch of the mouse device.
 22. The method as in claim 1, further comprising: determining a subsequent actuation of the switch; and determining, based on the subsequent actuation of the switch, to re-configure the key of the input device to trigger execution of the first process upon actuation of the key.
 23. The method as in claim 6, further comprising loading the shortcut-key profile from the mouse into a memory on the computer system upon startup of the computer system.
 24. The system as in claim 7, wherein the mouse device is further configured to: detect a subsequent actuation of the switch; and wherein the key of the input device is re-configured to trigger execution of the first process upon actuation of the key, based on the subsequent actuation of the switch.
 25. The system as in claim 12, wherein the shortcut-key profile is loaded from the mouse into a memory on the computer system upon startup of the computer system.
 26. The non-transitory machine readable medium as in claim 13 wherein the instructions cause the computing device to further: detect a subsequent actuation of the switch; and determine, based on the subsequent actuation of the switch, to re-configure the key of the input device to trigger execution of the first process upon actuation of the key.
 27. The non-transitory machine readable medium as in claim 18, wherein the instructions cause the computing device to load the shortcut-key profile from the mouse into a memory on the computer system upon startup of the computer system. 